package com.hr.approval.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hr.approval.entity.ApprovalData;
import com.hr.approval.entity.param.ApprovalParam;
import com.hr.approval.entity.vo.ApprovalDataDisplay;
import com.hr.bigData.entity.ApprovalDataEchartsVO;
import com.hr.approval.entity.vo.ApprovalDataVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hr
 * @since 2024-05-07
 */

public interface ApprovalDataService extends IService<ApprovalData> {
    Integer add(ApprovalData approvalData);
    Integer update(ApprovalData approvalData);
    void delete(Integer id);
    ApprovalData findApprovalDataById(Integer id);
    List<ApprovalData> getApprovalDataList();

    // 根据发起人查
//    PageBean getApprovalDataListByReportId(ApprovalPWhere approvalPWhere);

    List<ApprovalData> getApprovalDataListByReportId(Integer id);

    // 根据审批人查
    List<ApprovalData> getApprovalDataListByApproval(Integer id);

    List<ApprovalDataVO> getApproveDataByApproval(ApprovalParam approvalParam);

    Integer agreeApprove(Integer id,Integer state);

    Integer disagreeApprove(Integer id);

    ApprovalDataDisplay getApprovalDataById(Integer id);

    ApprovalDataEchartsVO getApprovalDataEcharts();

    List<ApprovalData> getApproveDataByUserId(ApprovalParam approvalParam);

    List<ApprovalData> getMyApprovalList(ApprovalData approvalData);
}
